package com.financial.transactionhistory.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.financial.common.annotation.Excel;
import com.financial.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;

/**
 * 预算对象 financial_budget
 *
 * @author chenda
 * @date 2025-06-16
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("预算实体")
public class FinancialBudget extends BaseEntity {
private static final long serialVersionUID = 1L;

    /** 预算ID */
        @ApiModelProperty(value = "主键ID")
        private Long id;
    /** 用户ID */
            @Excel(name = "用户ID")
        @ApiModelProperty(value = "用户ID")
        private Long userId;
    /** 预算名称（如月度餐饮预算） */
            @Excel(name = "预算名称", readConverterExp = "如=月度餐饮预算")
        @ApiModelProperty(value = "预算名称")
        private String budgetName;
    /** 预算总额 */
            @Excel(name = "预算总额")
        @ApiModelProperty(value = "预算总额")
        private BigDecimal amount;
    /** 已用金额 */
            @Excel(name = "已用金额")
        @ApiModelProperty(value = "已用金额")
        private BigDecimal usedAmount;
    /** 生效时间 */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
            @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd")
        @ApiModelProperty(value = "生效时间")
        private LocalDate startTime;
    /** 截止时间 */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
            @Excel(name = "截止时间", width = 30, dateFormat = "yyyy-MM-dd")
        @ApiModelProperty(value = "截止时间")
        private LocalDate endTime;
    /** 删除标志 */
        @ApiModelProperty(value = "截止时间")
        private String delFlag;
}